Hallo zusammen!
Ich habe folgende Problemstellung: Ich möchte automatisch eine neue Spalte einfügen (die anschließend automatisch befüllt wird, das ist hier aber erstmal nicht relevant). Da das Sheet vermutlich öfters von verschiedenen Leuten benutzt werden wird, die jedes Mal die automatische Befüllung ablaufen lassen werden, soll die neue Spalte jedoch nur ein einziges Mal eingefügt werden. Ist sie einmal eingefügt, sind bei jedem weiteren Ausführen die Werte in die bestehende, neu eingefügte Spalte einzutragen.
Ich habe das Einfügen der Spalte aufgezeichnet und erhalte folgenden Code:
Sub Spalte_I_einfuegen()
Columns("I:I").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.SmallScroll ToRight:=-1
Range("I4").Select
ActiveCell.FormulaR1C1 = "Neue Überschrift"
Range("I5").Select
End Sub
Nun möchte ich eine Art "Sperre" einführen, die ein wiederholtes Einfügen verhindert. Ich habe mir das folgendermaßen gedacht: Wenn die neue Spalte noch nicht eingefügt ist, dann besitzt Spalte I noch eine andere Überschrift als "Neue Überschrift", die ihr ja erst beim Einfügen zugewiesen wird. Vielmehr beinhaltet Spalte I dann ja noch die ursprüngliche Spalte I, die anschließend zu Spalte J wird. Diese heiße "Überschrift Nebenspalte". Wenn das Makro also erst abfrägt, ob Spalte I noch die "Überschrift Nebenspalte" trägt, dann und nur dann fügt es eine neue Spalte ein. Mit meinem Ansatz funktioniert es nur leider nicht:
If Range("I4").FormulaR1C1 = "Überschrift Nebenspalte" Then Call Spalte_I_einfuegen
Kann mir hier jemand weiterhelfen?
Liegt es vielleicht daran, dass er den Befehl "ELSE schreibe in vorhandene, neu eingefügte Spalte" nicht bekommt?
Herzlichen Dank im Voraus für eure guten Ideen!
|